
Nombre:
ICQ
Versión:
99
Editor:
Mirabilis
Víctima:
ICQ.EXE
Herramientas:
SoftICE
Cerebro
Cracker:
LW2000
Tutorial:
número 12
Renuncia: Este tutorial tiene una finalidad únicamente
educativa. No asumo ninguna responsabilidad por el mal uso de éste material.
Misión: Cómo saltarnos la comprobación de seguridad
del arranque de ICQ.
1.
Piense en la siguiente situación: usted
lanza ICQ; pero ICQ quiere tener su password para funcionar …
2.
Lanzamos ICQ, aparece el ‘PWD Dialog’.
Ponemos ‘1230099’ como Password. ¡Booom! “Incorrect password!” El típico ‘bug’
…
3.
Pulsamos Ctrl-D para ir a SoftICE y ponemos
un breakpoint en getWindowTextA (“BPX GETWINDOWTEXTA”). Pulsamos F5 para regresar
a la aplicación.
4.
Introducimos ‘1230099’ como Password
nuevamente. ¡Booom! SoftICE aparece. Pulsamos F5 y F11 para ir a la instrucción
que realizó la llamada. Ahora traceamos con F10 hasta que veamos esto:
0177:2190039A 7440
JZ 219003DC
>¡Bad Boy!
0177:2190039C 39BED0000000
CMP [ESI+000000D0],EDI
0177:219003A2 757A
JNZ 2190041E
0177:219003A4 E8C40EF8FF
CALL 2188126D
0177:219003A9 8BCE
MOV ECX,ESI
0177:219003AB 8BD8
MOV EBX,EAX
5.
Traceamos hasta que lleguemos a:
0177:2190039A 7440
JZ 219003DC
6.
Ahora escribimos “R FL Z” para cambiar
el flag de cero. Después escribimos “BD *” y pulsamos F5 para regresar a ICQ.
7.
¡Estupendo, ICQ funciona! Pero, vamos
a desactivar ésta propiedad de seguridad.
8.
Hacemos click en ‘ICQ’, ‘Preferences
& Security’, ‘Security & Privacy’. Ponemos el nivel de ‘Security’
a ‘Low’. Pulsamos el botón ‘Save’. Parece que estamos otra vez en el ‘PWD
Dialog’. Pulsamos Ctrl-D para ir a SoftICE y escribimos “BE *” para activar
nuestros breakpoints. Pulsamos F5 para regresar a la aplicación.
9.
Introducimos ‘1230099’ como Password.
¡Booom! SoftICE aparece. Pulsamos F5 y F11 para ir a la instrucción que realizó
la llamada. Ahora con F10 traceamos el código hasta que veamos esto:
0177:219003D9 59
POP ECX
0177:219003DA 7442
JZ 2190041E >¡Bad Boy!
0177:219003DC 39BED0000000
CMP [ESI+000000D0],EDI
0177:219003E2 7406
JZ 219003EA
0177:219003E4 FF86E0000000
INC DWORD PTR [ESI+000000E0]
0177:219003EA 8D45F0
LEA EAX,[EBP-10]
0177:219003ED 684D1F0000
PUSH 00001F4D
0177:219003F2 50
PUSH EAX
0177:219003F3 FF15EC469E21
CALL [219E46EC]
10.
Traceamos hasta llegar a:
0177:219003DA 7442
JZ 2190041E
11.
Ahora escribimos “R FL Z” para cambiar el flag de cero. Escribimos
“BD *” para desactivar nuestro breakpoint. Pulsamos F5 para regresar a ICQ.
Ahora pulsamos el botón ‘Done’.
12.
Salimos de ICQ y lo lanzamos nuevamente.
13.
¡Enhorabuena! Hemos batido la comprobación de seguridad al arrancar
ICQ.
¡Se acabó! Fácil, ¿no? ¿Algún comentario? Envíeme
un email a LW2000@gmx.net.
o vaya a http://www.LW2000.cjb.net
Gracias a tKC por sus tutoriales. Empecé leyendo su
primer tutorial y todavía sigo leyéndolos.
Traducción de: MeGaBiTe